#!/bin/bash

# Socket服务器Cookie认证修复测试脚本

echo "🚀 Socket服务器Cookie认证修复测试"
echo "=================================="
echo ""

# 检查Node.js和npm
echo "📋 检查环境..."
node --version || { echo "❌ Node.js未安装"; exit 1; }
npm --version || { echo "❌ npm未安装"; exit 1; }

echo "✅ 环境检查通过"
echo ""

# 安装依赖（如果需要）
echo "📦 检查依赖..."
if [ ! -d "node_modules" ]; then
    echo "安装依赖中..."
    npm install
fi

# 检查MySQL连接
echo "🔌 检查MySQL连接..."
# 这里可以添加MySQL连接测试

# 启动服务器
echo "🚀 启动服务器..."
echo "服务器将在后台启动，请查看日志输出"
echo ""

# 启动主服务器（端口7001）
echo "启动主服务器（端口7001）..."
npm run dev &
MAIN_SERVER_PID=$!

# 等待服务器启动
echo "等待服务器启动..."
sleep 5

# 检查服务器是否启动成功
echo "📡 检查服务器状态..."
curl -s http://localhost:7001/api/sso/health > /dev/null
if [ $? -eq 0 ]; then
    echo "✅ 主服务器启动成功（端口7001）"
else
    echo "❌ 主服务器启动失败"
fi

# 检查Socket服务器
curl -s http://localhost:7002/socket.io/ > /dev/null
if [ $? -eq 0 ]; then
    echo "✅ Socket服务器启动成功（端口7002）"
else
    echo "❌ Socket服务器启动失败"
fi

echo ""
echo "🧪 现在您可以进行以下测试："
echo "1. 访问前端应用进行登录测试"
echo "2. 检查Socket连接和用户身份验证"
echo "3. 测试文档协同编辑功能"
echo ""
echo "📝 服务器信息："
echo "- 主服务器: http://localhost:7001"
echo "- Socket服务器: http://localhost:7002"
echo "- API文档: http://localhost:7001/api"
echo ""
echo "🛑 按 Ctrl+C 停止服务器"

# 等待用户中断
wait $MAIN_SERVER_PID
